package com.hospital.common.core.module.controller.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author lvyao
 * @description 接收从外部传来的信息
 * @date 2020/7/2
 */
@Data
public class PatientReqEntity {
    private String accessToken;
    private String hosCardFlag;
    /**
     * 医院名称
     */
    private String hospitalName;
    /**
     * 医院编码
     */
    private String hospitalCode;
    /**
     * 就诊卡实体卡号或患者院内ID
     */
    private String hosCardNo;
    /**
     * 卡类型，01：就诊卡，02：银行卡，03：社保卡，04：医保卡，05：新农合卡，06：居民健康卡
     */
    private String hosCardType;
    @NotBlank(message = "患者姓名不能为空")
    private String patientName;
    @NotBlank(message = "患者性别不能为空")
    private String sex;
    @NotNull(message = "出生日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format ="yyyy-MM-dd")
    private Date birthDay;
    /**
     * 身份证号，18位校验
     */
//    @NotBlank
//    @Length(max = 18,min = 15,message = "身份证错误")
    private String idNo;
    private String state;
    private String city;
    private String district;
    private String address;
    private String phone;
    private String nation;
    /**
     * 亲属关系
     */
    private String relation;
    /**
     * 亲属姓名
     */
    private String relationName;
    /**
     * 亲属手机号
     */
    private String relationPhone;
    /**
     * 亲属身份证号码
     */
    private String relationId;
    @NotBlank(message = "病人类型必须填写")
    private String patientType;
    private String photo;
    /**
     * 建卡渠道
     */
    private String createChannel;
//    @NotBlank(message = "电子健康卡二维码必须填写")
    private String qrCodeText;
//    @NotBlank(message = "健康卡号必须填写")
    private String healthCardId;
    private String adminExt;
    private String phid;
    private String cardId;
    private String tradeNo;
    /**
     * 终端号
     */
    private String terminal;
    private String payMethod;
    /**
     * 数据操作 不用传值 大于0 插入主索引  小于 0 更新
     */
    private int  dataOper = 0;
}
